<template>
  <ConfigProvider :theme="appTheme" :locale="getAntdLocale">
    <AppProvider>
      <RouterView />
    </AppProvider>
  </ConfigProvider>
</template>

<script lang="ts" setup>
import { watch, ref, } from 'vue';
import { theme } from 'ant-design-vue';
import { ConfigProvider } from 'ant-design-vue';
import { AppProvider } from '/@/components/Application';
import { useTitle } from '/@/hooks/web/useTitle';
import { useLocale } from '/@/locales/useLocale';
import { useAppStore } from '/@/store/modules/app';
import { useRootSetting } from '/@/hooks/setting/useRootSetting';
import { ThemeEnum } from '/@/enums/appEnum';
import { changeTheme } from '/@/logics/theme/index';
import 'dayjs/locale/zh-cn';


const appStore = useAppStore();
// 解决日期时间国际化问题

// support Multi-language
const { getAntdLocale } = useLocale();

useTitle();
// update-begin--author:liaozhiyang---date:20231218---for：【QQYUN-6366】升级到antd4.x
const appTheme: any = ref({});
const { getDarkMode } = useRootSetting();
watch(
  () => getDarkMode.value,
  (newValue) => {
    delete appTheme.value.algorithm;
    if (newValue === ThemeEnum.DARK) {
      appTheme.value.algorithm = theme.darkAlgorithm;
    }
    // update-begin--author:liaozhiyang---date:20240322---for：【QQYUN-8570】生产环境暗黑模式下主题色不生效
    if (import.meta.env.PROD) {
      changeTheme(appStore.getProjectConfig.themeColor);
    }
    // update-end--author:liaozhiyang---date:20240322---for：【QQYUN-8570】生产环境暗黑模式下主题色不生效
    appTheme.value = {
      ...appTheme.value,
    };
  },
  { immediate: true }
);
watch(
  appStore.getProjectConfig,
  (newValue) => {
    const primary = newValue.themeColor;
    appTheme.value = {
      ...appTheme.value,
      ...{
        token: {
          colorPrimary: primary,
          wireframe: true,
          fontSize: 14,
          colorSuccess: '#55D187',
          colorInfo: primary,
          borderRadius: 2,
          sizeStep: 4,
          sizeUnit: 4,
          colorWarning: '#EFBD47',
          colorError: '#ED6F6F',
        },
      },
    };
  },
  { immediate: true }
);

// watch(
//   isWebSocket,
//   (newValue) => {
//     if (newValue) {
//       if (getWebSocket) getWebSocket.close()
//       const nurseWebSocket = initNurseWebSocket()
//       setWebSocket(nurseWebSocket)
//     }
//     // if (!newValue && webSocket) {
//     //   const nurseWebSocket = initNurseWebSocket()
//     //   setWebSocket(nurseWebSocket)
//     // }
//   },
//   { immediate: true }
// );
// onUnmounted(() => {
//   console.log("-------------------")
// })

setTimeout(() => {
  appStore.getProjectConfig?.themeColor && changeTheme(appStore.getProjectConfig.themeColor);
}, 300);
// update-end--author:liaozhiyang---date:20231218---for：【QQYUN-6366】升级到antd4.x
</script>
<style lang="less">
// update-begin--author:liaozhiyang---date:20230803---for：【QQYUN-5839】windi会影响到html2canvas绘制的图片样式
img {
  display: inline-block;
}

// update-end--author:liaozhiyang---date:20230803---for：【QQYUN-5839】windi会影响到html2canvas绘制的图片样式</style>
